package com.cspm.ahjy.bc.office.util;

/**
 * 进制转换
 * @author ServerZhang
 * @date 2017年9月21日
 */
public class NumberSystemsUtil {

	/**
	 * 十进制转二进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午8:55:54
	 */
	public static String toBinary(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.toBinaryString(integer);
	}
	public static String toBinary(String string){
		if (null == string) {
			return string;
		}
		return Integer.toBinaryString(Integer.parseInt(string));
	}
	/**
	 * 十进制转八进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午8:55:54
	 */
	public static String toOctal(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.toOctalString(integer);
	}
	public static String toOctal(String string){
		if (null == string) {
			return string;
		}
		return Integer.toOctalString(Integer.parseInt(string));
	}
	/**
	 * 十进制转十六进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午8:55:54
	 */
	public static String toHex(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.toHexString(integer).toUpperCase();
	}
	public static String toHex(String string){
		if (null == string) {
			return string;
		}
		return Integer.toHexString(Integer.parseInt(string)).toUpperCase();
	}
	
	/**
	 * 二进制转十进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午9:04:30
	 */
	public static String byBinary(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.valueOf(integer.toString(),2).toString();
	}
	public static String byBinary(String string){
		if (null == string) {
			return string;
		}
		return Integer.valueOf(string,2).toString();
	}
	/**
	 * 八进制转十进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午9:04:30
	 */
	public static String byOctal(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.valueOf(integer.toString(),8).toString();
	}
	public static String byOctal(String string){
		if (null == string) {
			return string;
		}
		return Integer.valueOf(string,8).toString();
	}
	/**
	 * 十六进制转十进制
	 * @param integer
	 * @return
	 * @author ServerZhang
	 * @date 2017年9月21日 上午9:04:30
	 */
	public static String byHex(Integer integer){
		if (null == integer) {
			return null;
		}
		return Integer.valueOf(integer.toString(),16).toString();
	}
	public static String byHex(String string){
		if (null == string) {
			return string;
		}
		return Integer.valueOf(string,16).toString();
	}
	
	
}
